package com.liwy3.thread;

import java.util.concurrent.CountDownLatch;

/**
 * Copyright © 2022年10月20日 北京自如信息科技有限公司. All rights reserved.
 *
 * @Prject: liwy3
 * @Package: com.liwy3.thread
 * @Description: 二个线程的任务同时执行完成， 发送通知
 * @author: Crazy4J
 * @date: 2022年10月20日 17:53
 * @version: V1.0
 */
public class CountDownLatchDemo {


    private static CountDownLatch countDownLatch = new CountDownLatch(2);

    public static void main(String[] args) throws Exception {


        new Thread(() -> {
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("任务一执行完毕");
            countDownLatch.countDown();
        }).start();

        new Thread(() -> {
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("任务二执行完毕");
            countDownLatch.countDown();
        }).start();
        countDownLatch.await();

        System.out.println("任务执行完毕， 发送通知");
    }


}
